package com.hangwei.aicabinet.util;

/**
 * Created by 张龙臣 on 2018/10/11.
 *
 * 一个缓存最多只让他添加 3 次（在串口操作中串口一个指令返回的数据不会 3 次都反不完，
 *  一般最多两次就反完了，如果连续 3 次校验失败，那只能说明数据错乱了，多个返回的数
 *  据混在一起导致无法解析，此时必须清空缓存重新获取数据）
 */

public class CheckedBuff {

//    public StringBuilder getStringBuilder() {
//        return stringBuilder;
//    }

    private int appendCount = 0;

    private StringBuilder stringBuilder;

    public CheckedBuff() {
        stringBuilder = new StringBuilder();
    }

    public void append(String str) {
        if (appendCount < 3) {
            stringBuilder.append(str);
            appendCount++;
        } else {
            appendCount = 1;
            stringBuilder = new StringBuilder();
            stringBuilder.append(str);
        }
    }

    public void clear() {
        stringBuilder = new StringBuilder();
        appendCount = 0;
    }
}
